module uart_byte_tx_test(
	Clk,
	Rst_n,
	uart_tx,
	Key0,
	Led0
);
	input Clk;
	input Rst_n;
	input Key0;
	output Led0;
	output uart_tx;

	wire key_p;
	
	reg [8:0] tx_data;
	reg send_en;
	reg [1:0] bps_setting;
	reg [1:0] check_setting;
	
	wire uart_state;
	
	button button_instance0(
		.clk(Clk) 			,
		.rst_n(Rst_n)			,
		.key(Key0)			,
		// key_r_flag  ,
		.key_p_flag(key_p)		// 检测按下标志	
	);  
	
	uart_byte_tx uart_byte_tx_instance0(
		.clk(Clk),			   // 时钟发生器：system 50MHz
		.data(tx_data),			   // 数据: reg
		.send_en(send_en),  	   // 使能: reg
		.bps_setting(bps_setting), 	// 波特率：reg 
		.check_setting(check_setting), // 校验方式: reg
		.rst_n(Rst_n), 			// 复位使能：reg
		
		.uart_tx(uart_tx),		   // 串口发送线: system
		.tx_done(Led0),   		// 一次发送数据完成标志
		.uart_state(uart_state)		// 发送数据状态，发送过程中为1，其它时候为0
	);
	
	always @(posedge Clk)
	begin
		if (key_p == 1)
		begin
			tx_data <= 8'b0100_0001;
			send_en <= 1'b1;
			bps_setting <= 2'b00;
			check_setting <= 2'b00;
		end
		if (send_en == 1)
			send_en <= 1'b0;
	end
	
endmodule
